package Pattern;

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Cipher extends PatternTest {
    /**
     * 密码注册
     */
    @Override
    public void register() {
        Scanner scan = new Scanner(System.in);
        System.out.println("****************密码注册*******************");
        System.out.println("密码注册要求：1: 以字母开头，必须包含大小写字母和数字的组合\n           2: 不能使用特殊字符，长度不少于6位");
        String pattern = "^[a-zA-Z]\\w{5,}$";  //正则码要求，
        for (int i = 5; i > 0; i--) {  //5次机会
            System.out.println("请输入你的密码");
            String arr = scan.next();   //用户输入
            this.setArr(arr); //第一次
            System.out.println("请确认密码");
            String arr1 = scan.next(); //第二次输入
            this.setArr(arr1);
            if (arr.equals(arr1)) {  //判断两次密码是否一致
                Pattern r = Pattern.compile(pattern);
                Matcher m = r.matcher(arr1);
                if (m.matches()) { //判断正则码
                    System.out.println(" 密码注册完成 ");
                    break;
                } else {
                    System.out.println("失败，输入密码不合规，您还可以注册: " + (i - 1) + " 次");
                }
            } else {
                System.out.println("两次输入密码不一致，请重新输入");
            }
            if (i == 1) {
                System.out.println("错误次数太多，请稍后再尝试注册，再见！");
            }

        }

    }
}
